type RetroArchInputButton = number | string

export interface RetroArchInputPlayerConfig {
  input_player1_a_axis: RetroArchInputButton
  input_player1_a_mbtn: RetroArchInputButton
  input_player1_analog_dpad_mode: RetroArchInputButton
  input_player1_b_axis: RetroArchInputButton
  input_player1_b_mbtn: RetroArchInputButton
  input_player1_down_mbtn: RetroArchInputButton
  input_player1_gun_aux_a: RetroArchInputButton
  input_player1_gun_aux_a_axis: RetroArchInputButton
  input_player1_gun_aux_a_btn: RetroArchInputButton
  input_player1_gun_aux_a_mbtn: RetroArchInputButton
  input_player1_gun_aux_b: RetroArchInputButton
  input_player1_gun_aux_b_axis: RetroArchInputButton
  input_player1_gun_aux_b_btn: RetroArchInputButton
  input_player1_gun_aux_b_mbtn: RetroArchInputButton
  input_player1_gun_aux_c: RetroArchInputButton
  input_player1_gun_aux_c_axis: RetroArchInputButton
  input_player1_gun_aux_c_btn: RetroArchInputButton
  input_player1_gun_aux_c_mbtn: RetroArchInputButton
  input_player1_gun_dpad_down: RetroArchInputButton
  input_player1_gun_dpad_down_axis: RetroArchInputButton
  input_player1_gun_dpad_down_btn: RetroArchInputButton
  input_player1_gun_dpad_down_mbtn: RetroArchInputButton
  input_player1_gun_dpad_left: RetroArchInputButton
  input_player1_gun_dpad_left_axis: RetroArchInputButton
  input_player1_gun_dpad_left_btn: RetroArchInputButton
  input_player1_gun_dpad_left_mbtn: RetroArchInputButton
  input_player1_gun_dpad_right: RetroArchInputButton
  input_player1_gun_dpad_right_axis: RetroArchInputButton
  input_player1_gun_dpad_right_btn: RetroArchInputButton
  input_player1_gun_dpad_right_mbtn: RetroArchInputButton
  input_player1_gun_dpad_up: RetroArchInputButton
  input_player1_gun_dpad_up_axis: RetroArchInputButton
  input_player1_gun_dpad_up_btn: RetroArchInputButton
  input_player1_gun_dpad_up_mbtn: RetroArchInputButton
  input_player1_gun_offscreen_shot: RetroArchInputButton
  input_player1_gun_offscreen_shot_axis: RetroArchInputButton
  input_player1_gun_offscreen_shot_btn: RetroArchInputButton
  input_player1_gun_offscreen_shot_mbtn: RetroArchInputButton
  input_player1_gun_select: RetroArchInputButton
  input_player1_gun_select_axis: RetroArchInputButton
  input_player1_gun_select_btn: RetroArchInputButton
  input_player1_gun_select_mbtn: RetroArchInputButton
  input_player1_gun_start: RetroArchInputButton
  input_player1_gun_start_axis: RetroArchInputButton
  input_player1_gun_start_btn: RetroArchInputButton
  input_player1_gun_start_mbtn: RetroArchInputButton
  input_player1_gun_trigger: RetroArchInputButton
  input_player1_gun_trigger_axis: RetroArchInputButton
  input_player1_gun_trigger_btn: RetroArchInputButton
  input_player1_gun_trigger_mbtn: RetroArchInputButton
  input_player1_l_axis: RetroArchInputButton
  input_player1_l_mbtn: RetroArchInputButton
  input_player1_l_x_minus_axis: RetroArchInputButton
  input_player1_l_x_minus_btn: RetroArchInputButton
  input_player1_l_x_minus_mbtn: RetroArchInputButton
  input_player1_l_x_plus_axis: RetroArchInputButton
  input_player1_l_x_plus_btn: RetroArchInputButton
  input_player1_l_x_plus_mbtn: RetroArchInputButton
  input_player1_l_y_minus_axis: RetroArchInputButton
  input_player1_l_y_minus_btn: RetroArchInputButton
  input_player1_l_y_minus_mbtn: RetroArchInputButton
  input_player1_l_y_plus_axis: RetroArchInputButton
  input_player1_l_y_plus_btn: RetroArchInputButton
  input_player1_l_y_plus_mbtn: RetroArchInputButton
  input_player1_l2_axis: RetroArchInputButton
  input_player1_l2_mbtn: RetroArchInputButton
  input_player1_l3_axis: RetroArchInputButton
  input_player1_l3_mbtn: RetroArchInputButton
  input_player1_left_mbtn: RetroArchInputButton
  input_player1_mouse_index: RetroArchInputButton
  input_player1_r_axis: RetroArchInputButton
  input_player1_r_mbtn: RetroArchInputButton
  input_player1_r_x_minus_axis: RetroArchInputButton
  input_player1_r_x_minus_btn: RetroArchInputButton
  input_player1_r_x_minus_mbtn: RetroArchInputButton
  input_player1_r_x_plus_axis: RetroArchInputButton
  input_player1_r_x_plus_btn: RetroArchInputButton
  input_player1_r_x_plus_mbtn: RetroArchInputButton
  input_player1_r_y_minus_axis: RetroArchInputButton
  input_player1_r_y_minus_btn: RetroArchInputButton
  input_player1_r_y_minus_mbtn: RetroArchInputButton
  input_player1_r_y_plus_axis: RetroArchInputButton
  input_player1_r_y_plus_btn: RetroArchInputButton
  input_player1_r_y_plus_mbtn: RetroArchInputButton
  input_player1_r2_axis: RetroArchInputButton
  input_player1_r2_mbtn: RetroArchInputButton
  input_player1_r3_axis: RetroArchInputButton
  input_player1_r3_mbtn: RetroArchInputButton
  input_player1_right_mbtn: RetroArchInputButton
  input_player1_select_axis: RetroArchInputButton
  input_player1_select_mbtn: RetroArchInputButton
  input_player1_start_axis: RetroArchInputButton
  input_player1_start_mbtn: RetroArchInputButton
  input_player1_turbo_axis: RetroArchInputButton
  input_player1_turbo_btn: RetroArchInputButton
  input_player1_turbo_mbtn: RetroArchInputButton
  input_player1_up_mbtn: RetroArchInputButton
  input_player1_x_axis: RetroArchInputButton
  input_player1_x_mbtn: RetroArchInputButton
  input_player1_y_axis: RetroArchInputButton
  input_player1_y_mbtn: RetroArchInputButton
  input_player2_a: RetroArchInputButton
  input_player2_a_axis: RetroArchInputButton
  input_player2_a_btn: RetroArchInputButton
  input_player2_a_mbtn: RetroArchInputButton
  input_player2_analog_dpad_mode: RetroArchInputButton
  input_player2_b: RetroArchInputButton
  input_player2_b_axis: RetroArchInputButton
  input_player2_b_btn: RetroArchInputButton
  input_player2_b_mbtn: RetroArchInputButton
  input_player2_down: RetroArchInputButton
  input_player2_down_axis: RetroArchInputButton
  input_player2_down_btn: RetroArchInputButton
  input_player2_down_mbtn: RetroArchInputButton
  input_player2_gun_aux_a: RetroArchInputButton
  input_player2_gun_aux_a_axis: RetroArchInputButton
  input_player2_gun_aux_a_btn: RetroArchInputButton
  input_player2_gun_aux_a_mbtn: RetroArchInputButton
  input_player2_gun_aux_b: RetroArchInputButton
  input_player2_gun_aux_b_axis: RetroArchInputButton
  input_player2_gun_aux_b_btn: RetroArchInputButton
  input_player2_gun_aux_b_mbtn: RetroArchInputButton
  input_player2_gun_aux_c: RetroArchInputButton
  input_player2_gun_aux_c_axis: RetroArchInputButton
  input_player2_gun_aux_c_btn: RetroArchInputButton
  input_player2_gun_aux_c_mbtn: RetroArchInputButton
  input_player2_gun_dpad_down: RetroArchInputButton
  input_player2_gun_dpad_down_axis: RetroArchInputButton
  input_player2_gun_dpad_down_btn: RetroArchInputButton
  input_player2_gun_dpad_down_mbtn: RetroArchInputButton
  input_player2_gun_dpad_left: RetroArchInputButton
  input_player2_gun_dpad_left_axis: RetroArchInputButton
  input_player2_gun_dpad_left_btn: RetroArchInputButton
  input_player2_gun_dpad_left_mbtn: RetroArchInputButton
  input_player2_gun_dpad_right: RetroArchInputButton
  input_player2_gun_dpad_right_axis: RetroArchInputButton
  input_player2_gun_dpad_right_btn: RetroArchInputButton
  input_player2_gun_dpad_right_mbtn: RetroArchInputButton
  input_player2_gun_dpad_up: RetroArchInputButton
  input_player2_gun_dpad_up_axis: RetroArchInputButton
  input_player2_gun_dpad_up_btn: RetroArchInputButton
  input_player2_gun_dpad_up_mbtn: RetroArchInputButton
  input_player2_gun_offscreen_shot: RetroArchInputButton
  input_player2_gun_offscreen_shot_axis: RetroArchInputButton
  input_player2_gun_offscreen_shot_btn: RetroArchInputButton
  input_player2_gun_offscreen_shot_mbtn: RetroArchInputButton
  input_player2_gun_select: RetroArchInputButton
  input_player2_gun_select_axis: RetroArchInputButton
  input_player2_gun_select_btn: RetroArchInputButton
  input_player2_gun_select_mbtn: RetroArchInputButton
  input_player2_gun_start: RetroArchInputButton
  input_player2_gun_start_axis: RetroArchInputButton
  input_player2_gun_start_btn: RetroArchInputButton
  input_player2_gun_start_mbtn: RetroArchInputButton
  input_player2_gun_trigger: RetroArchInputButton
  input_player2_gun_trigger_axis: RetroArchInputButton
  input_player2_gun_trigger_btn: RetroArchInputButton
  input_player2_gun_trigger_mbtn: RetroArchInputButton
  input_player2_l: RetroArchInputButton
  input_player2_l_axis: RetroArchInputButton
  input_player2_l_btn: RetroArchInputButton
  input_player2_l_mbtn: RetroArchInputButton
  input_player2_l_x_minus: RetroArchInputButton
  input_player2_l_x_minus_axis: RetroArchInputButton
  input_player2_l_x_minus_btn: RetroArchInputButton
  input_player2_l_x_minus_mbtn: RetroArchInputButton
  input_player2_l_x_plus: RetroArchInputButton
  input_player2_l_x_plus_axis: RetroArchInputButton
  input_player2_l_x_plus_btn: RetroArchInputButton
  input_player2_l_x_plus_mbtn: RetroArchInputButton
  input_player2_l_y_minus: RetroArchInputButton
  input_player2_l_y_minus_axis: RetroArchInputButton
  input_player2_l_y_minus_btn: RetroArchInputButton
  input_player2_l_y_minus_mbtn: RetroArchInputButton
  input_player2_l_y_plus: RetroArchInputButton
  input_player2_l_y_plus_axis: RetroArchInputButton
  input_player2_l_y_plus_btn: RetroArchInputButton
  input_player2_l_y_plus_mbtn: RetroArchInputButton
  input_player2_l2: RetroArchInputButton
  input_player2_l2_axis: RetroArchInputButton
  input_player2_l2_btn: RetroArchInputButton
  input_player2_l2_mbtn: RetroArchInputButton
  input_player2_l3: RetroArchInputButton
  input_player2_l3_axis: RetroArchInputButton
  input_player2_l3_btn: RetroArchInputButton
  input_player2_l3_mbtn: RetroArchInputButton
  input_player2_left: RetroArchInputButton
  input_player2_left_axis: RetroArchInputButton
  input_player2_left_btn: RetroArchInputButton
  input_player2_left_mbtn: RetroArchInputButton
  input_player2_mouse_index: RetroArchInputButton
  input_player2_r: RetroArchInputButton
  input_player2_r_axis: RetroArchInputButton
  input_player2_r_btn: RetroArchInputButton
  input_player2_r_mbtn: RetroArchInputButton
  input_player2_r_x_minus: RetroArchInputButton
  input_player2_r_x_minus_axis: RetroArchInputButton
  input_player2_r_x_minus_btn: RetroArchInputButton
  input_player2_r_x_minus_mbtn: RetroArchInputButton
  input_player2_r_x_plus: RetroArchInputButton
  input_player2_r_x_plus_axis: RetroArchInputButton
  input_player2_r_x_plus_btn: RetroArchInputButton
  input_player2_r_x_plus_mbtn: RetroArchInputButton
  input_player2_r_y_minus: RetroArchInputButton
  input_player2_r_y_minus_axis: RetroArchInputButton
  input_player2_r_y_minus_btn: RetroArchInputButton
  input_player2_r_y_minus_mbtn: RetroArchInputButton
  input_player2_r_y_plus: RetroArchInputButton
  input_player2_r_y_plus_axis: RetroArchInputButton
  input_player2_r_y_plus_btn: RetroArchInputButton
  input_player2_r_y_plus_mbtn: RetroArchInputButton
  input_player2_r2: RetroArchInputButton
  input_player2_r2_axis: RetroArchInputButton
  input_player2_r2_btn: RetroArchInputButton
  input_player2_r2_mbtn: RetroArchInputButton
  input_player2_r3: RetroArchInputButton
  input_player2_r3_axis: RetroArchInputButton
  input_player2_r3_btn: RetroArchInputButton
  input_player2_r3_mbtn: RetroArchInputButton
  input_player2_right: RetroArchInputButton
  input_player2_right_axis: RetroArchInputButton
  input_player2_right_btn: RetroArchInputButton
  input_player2_right_mbtn: RetroArchInputButton
  input_player2_select: RetroArchInputButton
  input_player2_select_axis: RetroArchInputButton
  input_player2_select_btn: RetroArchInputButton
  input_player2_select_mbtn: RetroArchInputButton
  input_player2_start: RetroArchInputButton
  input_player2_start_axis: RetroArchInputButton
  input_player2_start_btn: RetroArchInputButton
  input_player2_start_mbtn: RetroArchInputButton
  input_player2_turbo: RetroArchInputButton
  input_player2_turbo_axis: RetroArchInputButton
  input_player2_turbo_btn: RetroArchInputButton
  input_player2_turbo_mbtn: RetroArchInputButton
  input_player2_up: RetroArchInputButton
  input_player2_up_axis: RetroArchInputButton
  input_player2_up_btn: RetroArchInputButton
  input_player2_up_mbtn: RetroArchInputButton
  input_player2_x: RetroArchInputButton
  input_player2_x_axis: RetroArchInputButton
  input_player2_x_btn: RetroArchInputButton
  input_player2_x_mbtn: RetroArchInputButton
  input_player2_y: RetroArchInputButton
  input_player2_y_axis: RetroArchInputButton
  input_player2_y_btn: RetroArchInputButton
  input_player2_y_mbtn: RetroArchInputButton
  input_player3_a: RetroArchInputButton
  input_player3_a_axis: RetroArchInputButton
  input_player3_a_btn: RetroArchInputButton
  input_player3_a_mbtn: RetroArchInputButton
  input_player3_analog_dpad_mode: RetroArchInputButton
  input_player3_b: RetroArchInputButton
  input_player3_b_axis: RetroArchInputButton
  input_player3_b_btn: RetroArchInputButton
  input_player3_b_mbtn: RetroArchInputButton
  input_player3_down: RetroArchInputButton
  input_player3_down_axis: RetroArchInputButton
  input_player3_down_btn: RetroArchInputButton
  input_player3_down_mbtn: RetroArchInputButton
  input_player3_gun_aux_a: RetroArchInputButton
  input_player3_gun_aux_a_axis: RetroArchInputButton
  input_player3_gun_aux_a_btn: RetroArchInputButton
  input_player3_gun_aux_a_mbtn: RetroArchInputButton
  input_player3_gun_aux_b: RetroArchInputButton
  input_player3_gun_aux_b_axis: RetroArchInputButton
  input_player3_gun_aux_b_btn: RetroArchInputButton
  input_player3_gun_aux_b_mbtn: RetroArchInputButton
  input_player3_gun_aux_c: RetroArchInputButton
  input_player3_gun_aux_c_axis: RetroArchInputButton
  input_player3_gun_aux_c_btn: RetroArchInputButton
  input_player3_gun_aux_c_mbtn: RetroArchInputButton
  input_player3_gun_dpad_down: RetroArchInputButton
  input_player3_gun_dpad_down_axis: RetroArchInputButton
  input_player3_gun_dpad_down_btn: RetroArchInputButton
  input_player3_gun_dpad_down_mbtn: RetroArchInputButton
  input_player3_gun_dpad_left: RetroArchInputButton
  input_player3_gun_dpad_left_axis: RetroArchInputButton
  input_player3_gun_dpad_left_btn: RetroArchInputButton
  input_player3_gun_dpad_left_mbtn: RetroArchInputButton
  input_player3_gun_dpad_right: RetroArchInputButton
  input_player3_gun_dpad_right_axis: RetroArchInputButton
  input_player3_gun_dpad_right_btn: RetroArchInputButton
  input_player3_gun_dpad_right_mbtn: RetroArchInputButton
  input_player3_gun_dpad_up: RetroArchInputButton
  input_player3_gun_dpad_up_axis: RetroArchInputButton
  input_player3_gun_dpad_up_btn: RetroArchInputButton
  input_player3_gun_dpad_up_mbtn: RetroArchInputButton
  input_player3_gun_offscreen_shot: RetroArchInputButton
  input_player3_gun_offscreen_shot_axis: RetroArchInputButton
  input_player3_gun_offscreen_shot_btn: RetroArchInputButton
  input_player3_gun_offscreen_shot_mbtn: RetroArchInputButton
  input_player3_gun_select: RetroArchInputButton
  input_player3_gun_select_axis: RetroArchInputButton
  input_player3_gun_select_btn: RetroArchInputButton
  input_player3_gun_select_mbtn: RetroArchInputButton
  input_player3_gun_start: RetroArchInputButton
  input_player3_gun_start_axis: RetroArchInputButton
  input_player3_gun_start_btn: RetroArchInputButton
  input_player3_gun_start_mbtn: RetroArchInputButton
  input_player3_gun_trigger: RetroArchInputButton
  input_player3_gun_trigger_axis: RetroArchInputButton
  input_player3_gun_trigger_btn: RetroArchInputButton
  input_player3_gun_trigger_mbtn: RetroArchInputButton
  input_player3_l: RetroArchInputButton
  input_player3_l_axis: RetroArchInputButton
  input_player3_l_btn: RetroArchInputButton
  input_player3_l_mbtn: RetroArchInputButton
  input_player3_l_x_minus: RetroArchInputButton
  input_player3_l_x_minus_axis: RetroArchInputButton
  input_player3_l_x_minus_btn: RetroArchInputButton
  input_player3_l_x_minus_mbtn: RetroArchInputButton
  input_player3_l_x_plus: RetroArchInputButton
  input_player3_l_x_plus_axis: RetroArchInputButton
  input_player3_l_x_plus_btn: RetroArchInputButton
  input_player3_l_x_plus_mbtn: RetroArchInputButton
  input_player3_l_y_minus: RetroArchInputButton
  input_player3_l_y_minus_axis: RetroArchInputButton
  input_player3_l_y_minus_btn: RetroArchInputButton
  input_player3_l_y_minus_mbtn: RetroArchInputButton
  input_player3_l_y_plus: RetroArchInputButton
  input_player3_l_y_plus_axis: RetroArchInputButton
  input_player3_l_y_plus_btn: RetroArchInputButton
  input_player3_l_y_plus_mbtn: RetroArchInputButton
  input_player3_l2: RetroArchInputButton
  input_player3_l2_axis: RetroArchInputButton
  input_player3_l2_btn: RetroArchInputButton
  input_player3_l2_mbtn: RetroArchInputButton
  input_player3_l3: RetroArchInputButton
  input_player3_l3_axis: RetroArchInputButton
  input_player3_l3_btn: RetroArchInputButton
  input_player3_l3_mbtn: RetroArchInputButton
  input_player3_left: RetroArchInputButton
  input_player3_left_axis: RetroArchInputButton
  input_player3_left_btn: RetroArchInputButton
  input_player3_left_mbtn: RetroArchInputButton
  input_player3_mouse_index: RetroArchInputButton
  input_player3_r: RetroArchInputButton
  input_player3_r_axis: RetroArchInputButton
  input_player3_r_btn: RetroArchInputButton
  input_player3_r_mbtn: RetroArchInputButton
  input_player3_r_x_minus: RetroArchInputButton
  input_player3_r_x_minus_axis: RetroArchInputButton
  input_player3_r_x_minus_btn: RetroArchInputButton
  input_player3_r_x_minus_mbtn: RetroArchInputButton
  input_player3_r_x_plus: RetroArchInputButton
  input_player3_r_x_plus_axis: RetroArchInputButton
  input_player3_r_x_plus_btn: RetroArchInputButton
  input_player3_r_x_plus_mbtn: RetroArchInputButton
  input_player3_r_y_minus: RetroArchInputButton
  input_player3_r_y_minus_axis: RetroArchInputButton
  input_player3_r_y_minus_btn: RetroArchInputButton
  input_player3_r_y_minus_mbtn: RetroArchInputButton
  input_player3_r_y_plus: RetroArchInputButton
  input_player3_r_y_plus_axis: RetroArchInputButton
  input_player3_r_y_plus_btn: RetroArchInputButton
  input_player3_r_y_plus_mbtn: RetroArchInputButton
  input_player3_r2: RetroArchInputButton
  input_player3_r2_axis: RetroArchInputButton
  input_player3_r2_btn: RetroArchInputButton
  input_player3_r2_mbtn: RetroArchInputButton
  input_player3_r3: RetroArchInputButton
  input_player3_r3_axis: RetroArchInputButton
  input_player3_r3_btn: RetroArchInputButton
  input_player3_r3_mbtn: RetroArchInputButton
  input_player3_right: RetroArchInputButton
  input_player3_right_axis: RetroArchInputButton
  input_player3_right_btn: RetroArchInputButton
  input_player3_right_mbtn: RetroArchInputButton
  input_player3_select: RetroArchInputButton
  input_player3_select_axis: RetroArchInputButton
  input_player3_select_btn: RetroArchInputButton
  input_player3_select_mbtn: RetroArchInputButton
  input_player3_start: RetroArchInputButton
  input_player3_start_axis: RetroArchInputButton
  input_player3_start_btn: RetroArchInputButton
  input_player3_start_mbtn: RetroArchInputButton
  input_player3_turbo: RetroArchInputButton
  input_player3_turbo_axis: RetroArchInputButton
  input_player3_turbo_btn: RetroArchInputButton
  input_player3_turbo_mbtn: RetroArchInputButton
  input_player3_up: RetroArchInputButton
  input_player3_up_axis: RetroArchInputButton
  input_player3_up_btn: RetroArchInputButton
  input_player3_up_mbtn: RetroArchInputButton
  input_player3_x: RetroArchInputButton
  input_player3_x_axis: RetroArchInputButton
  input_player3_x_btn: RetroArchInputButton
  input_player3_x_mbtn: RetroArchInputButton
  input_player3_y: RetroArchInputButton
  input_player3_y_axis: RetroArchInputButton
  input_player3_y_btn: RetroArchInputButton
  input_player3_y_mbtn: RetroArchInputButton
  input_player4_a: RetroArchInputButton
  input_player4_a_axis: RetroArchInputButton
  input_player4_a_btn: RetroArchInputButton
  input_player4_a_mbtn: RetroArchInputButton
  input_player4_analog_dpad_mode: RetroArchInputButton
  input_player4_b: RetroArchInputButton
  input_player4_b_axis: RetroArchInputButton
  input_player4_b_btn: RetroArchInputButton
  input_player4_b_mbtn: RetroArchInputButton
  input_player4_down: RetroArchInputButton
  input_player4_down_axis: RetroArchInputButton
  input_player4_down_btn: RetroArchInputButton
  input_player4_down_mbtn: RetroArchInputButton
  input_player4_gun_aux_a: RetroArchInputButton
  input_player4_gun_aux_a_axis: RetroArchInputButton
  input_player4_gun_aux_a_btn: RetroArchInputButton
  input_player4_gun_aux_a_mbtn: RetroArchInputButton
  input_player4_gun_aux_b: RetroArchInputButton
  input_player4_gun_aux_b_axis: RetroArchInputButton
  input_player4_gun_aux_b_btn: RetroArchInputButton
  input_player4_gun_aux_b_mbtn: RetroArchInputButton
  input_player4_gun_aux_c: RetroArchInputButton
  input_player4_gun_aux_c_axis: RetroArchInputButton
  input_player4_gun_aux_c_btn: RetroArchInputButton
  input_player4_gun_aux_c_mbtn: RetroArchInputButton
  input_player4_gun_dpad_down: RetroArchInputButton
  input_player4_gun_dpad_down_axis: RetroArchInputButton
  input_player4_gun_dpad_down_btn: RetroArchInputButton
  input_player4_gun_dpad_down_mbtn: RetroArchInputButton
  input_player4_gun_dpad_left: RetroArchInputButton
  input_player4_gun_dpad_left_axis: RetroArchInputButton
  input_player4_gun_dpad_left_btn: RetroArchInputButton
  input_player4_gun_dpad_left_mbtn: RetroArchInputButton
  input_player4_gun_dpad_right: RetroArchInputButton
  input_player4_gun_dpad_right_axis: RetroArchInputButton
  input_player4_gun_dpad_right_btn: RetroArchInputButton
  input_player4_gun_dpad_right_mbtn: RetroArchInputButton
  input_player4_gun_dpad_up: RetroArchInputButton
  input_player4_gun_dpad_up_axis: RetroArchInputButton
  input_player4_gun_dpad_up_btn: RetroArchInputButton
  input_player4_gun_dpad_up_mbtn: RetroArchInputButton
  input_player4_gun_offscreen_shot: RetroArchInputButton
  input_player4_gun_offscreen_shot_axis: RetroArchInputButton
  input_player4_gun_offscreen_shot_btn: RetroArchInputButton
  input_player4_gun_offscreen_shot_mbtn: RetroArchInputButton
  input_player4_gun_select: RetroArchInputButton
  input_player4_gun_select_axis: RetroArchInputButton
  input_player4_gun_select_btn: RetroArchInputButton
  input_player4_gun_select_mbtn: RetroArchInputButton
  input_player4_gun_start: RetroArchInputButton
  input_player4_gun_start_axis: RetroArchInputButton
  input_player4_gun_start_btn: RetroArchInputButton
  input_player4_gun_start_mbtn: RetroArchInputButton
  input_player4_gun_trigger: RetroArchInputButton
  input_player4_gun_trigger_axis: RetroArchInputButton
  input_player4_gun_trigger_btn: RetroArchInputButton
  input_player4_gun_trigger_mbtn: RetroArchInputButton
  input_player4_l: RetroArchInputButton
  input_player4_l_axis: RetroArchInputButton
  input_player4_l_btn: RetroArchInputButton
  input_player4_l_mbtn: RetroArchInputButton
  input_player4_l_x_minus: RetroArchInputButton
  input_player4_l_x_minus_axis: RetroArchInputButton
  input_player4_l_x_minus_btn: RetroArchInputButton
  input_player4_l_x_minus_mbtn: RetroArchInputButton
  input_player4_l_x_plus: RetroArchInputButton
  input_player4_l_x_plus_axis: RetroArchInputButton
  input_player4_l_x_plus_btn: RetroArchInputButton
  input_player4_l_x_plus_mbtn: RetroArchInputButton
  input_player4_l_y_minus: RetroArchInputButton
  input_player4_l_y_minus_axis: RetroArchInputButton
  input_player4_l_y_minus_btn: RetroArchInputButton
  input_player4_l_y_minus_mbtn: RetroArchInputButton
  input_player4_l_y_plus: RetroArchInputButton
  input_player4_l_y_plus_axis: RetroArchInputButton
  input_player4_l_y_plus_btn: RetroArchInputButton
  input_player4_l_y_plus_mbtn: RetroArchInputButton
  input_player4_l2: RetroArchInputButton
  input_player4_l2_axis: RetroArchInputButton
  input_player4_l2_btn: RetroArchInputButton
  input_player4_l2_mbtn: RetroArchInputButton
  input_player4_l3: RetroArchInputButton
  input_player4_l3_axis: RetroArchInputButton
  input_player4_l3_btn: RetroArchInputButton
  input_player4_l3_mbtn: RetroArchInputButton
  input_player4_left: RetroArchInputButton
  input_player4_left_axis: RetroArchInputButton
  input_player4_left_btn: RetroArchInputButton
  input_player4_left_mbtn: RetroArchInputButton
  input_player4_mouse_index: RetroArchInputButton
  input_player4_r: RetroArchInputButton
  input_player4_r_axis: RetroArchInputButton
  input_player4_r_btn: RetroArchInputButton
  input_player4_r_mbtn: RetroArchInputButton
  input_player4_r_x_minus: RetroArchInputButton
  input_player4_r_x_minus_axis: RetroArchInputButton
  input_player4_r_x_minus_btn: RetroArchInputButton
  input_player4_r_x_minus_mbtn: RetroArchInputButton
  input_player4_r_x_plus: RetroArchInputButton
  input_player4_r_x_plus_axis: RetroArchInputButton
  input_player4_r_x_plus_btn: RetroArchInputButton
  input_player4_r_x_plus_mbtn: RetroArchInputButton
  input_player4_r_y_minus: RetroArchInputButton
  input_player4_r_y_minus_axis: RetroArchInputButton
  input_player4_r_y_minus_btn: RetroArchInputButton
  input_player4_r_y_minus_mbtn: RetroArchInputButton
  input_player4_r_y_plus: RetroArchInputButton
  input_player4_r_y_plus_axis: RetroArchInputButton
  input_player4_r_y_plus_btn: RetroArchInputButton
  input_player4_r_y_plus_mbtn: RetroArchInputButton
  input_player4_r2: RetroArchInputButton
  input_player4_r2_axis: RetroArchInputButton
  input_player4_r2_btn: RetroArchInputButton
  input_player4_r2_mbtn: RetroArchInputButton
  input_player4_r3: RetroArchInputButton
  input_player4_r3_axis: RetroArchInputButton
  input_player4_r3_btn: RetroArchInputButton
  input_player4_r3_mbtn: RetroArchInputButton
  input_player4_right: RetroArchInputButton
  input_player4_right_axis: RetroArchInputButton
  input_player4_right_btn: RetroArchInputButton
  input_player4_right_mbtn: RetroArchInputButton
  input_player4_select: RetroArchInputButton
  input_player4_select_axis: RetroArchInputButton
  input_player4_select_btn: RetroArchInputButton
  input_player4_select_mbtn: RetroArchInputButton
  input_player4_start: RetroArchInputButton
  input_player4_start_axis: RetroArchInputButton
  input_player4_start_btn: RetroArchInputButton
  input_player4_start_mbtn: RetroArchInputButton
  input_player4_turbo: RetroArchInputButton
  input_player4_turbo_axis: RetroArchInputButton
  input_player4_turbo_btn: RetroArchInputButton
  input_player4_turbo_mbtn: RetroArchInputButton
  input_player4_up: RetroArchInputButton
  input_player4_up_axis: RetroArchInputButton
  input_player4_up_btn: RetroArchInputButton
  input_player4_up_mbtn: RetroArchInputButton
  input_player4_x: RetroArchInputButton
  input_player4_x_axis: RetroArchInputButton
  input_player4_x_btn: RetroArchInputButton
  input_player4_x_mbtn: RetroArchInputButton
  input_player4_y: RetroArchInputButton
  input_player4_y_axis: RetroArchInputButton
  input_player4_y_btn: RetroArchInputButton
  input_player4_y_mbtn: RetroArchInputButton
}
